package com.kerrykidz.scminvoicing.dao.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.kerrykidz.scminvoicing.dao.model.GblScmPrdCateEntity;
import com.rdp.framework.core.dao.mapper.MyBatisSuperMapper;
import com.rdp.framework.exception.RDPException;
/**
 * 
* @ClassName: GblScmPrdCateEntityMapper 
* @description: 商品分类
* @author: ScreenJxp 
* @date: 2014年8月21日 下午1:23:30 
* @version: V1.0
*
 */
@Repository
public interface GblScmPrdCateEntityMapper  extends MyBatisSuperMapper<GblScmPrdCateEntity> {
	/***
	 * 
	*
	* @Title: findCategoryList
	* @Description: <p>获取商品分类的信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param entity
	* @param: <p>@return
	* @param: <p>@throws RDPException<p>
	* @date: 2014年8月21日
	* @return: List<GblScmPrdCateEntity>
	* @throws 
	*
	 */
	public List<GblScmPrdCateEntity> findCategoryList(GblScmPrdCateEntity entity)throws RDPException;
	/**
	 * 
	*
	* @Title: deleteEntity
	* @Description: <p>删除商品信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param map
	* @param: <p>@throws RDPException<p>
	* @date: 2014年8月21日
	* @return: void
	* @throws 
	*
	 */
	public void deleteEntity(Map<String, Object> map) throws RDPException;
	/**
	 * 
	*
	* @Title: deleteEntity
	* @Description: <p>保存商品信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param map
	* @param: <p>@throws RDPException<p>
	* @date: 2014年8月21日
	* @return: void
	* @throws 
	*
	 */
	public void saveEntity(GblScmPrdCateEntity entity)throws RDPException;
	/**
	 * 
	*
	* @Title: deleteEntity
	* @Description: <p>修改商品信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param map
	* @param: <p>@throws RDPException<p>
	* @date: 2014年8月21日
	* @return: void
	* @throws 
	*
	 */
	public void updateEntity(GblScmPrdCateEntity entity)throws RDPException;
	/**
	 * 
	*
	* @Title: deleteCategory
	* @Description: <p>删除商品分类信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param entity
	* @param: <p>@throws RDPException<p>
	* @date: 2014年8月15日
	* @return: void
	* @throws 
	*
	 */
	public void deleteCategory(GblScmPrdCateEntity entity)throws RDPException;
	
	/**
	 * 根据商品分类Id获取其子目录下的所有分类
	 * @param cateId
	 * @return
	 * @date: 2014年8月29日
	 */
	public List<String> findChildCateById(@Param("cateId")String cateId)throws RDPException;
	
	/**
	 * 根据类型查询商品分类
	 * @param resverseType
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月1日
	 */
	public List<GblScmPrdCateEntity> findCateByReverseType(@Param("resverseType")String resverseType) throws RDPException;
	
	
	/***
	 * 商品分类是否可以删除
	 * @param cateId
	 * @return
	 * @throws RDPException
	 * @date: 2014年10月13日
	 */
	public Integer  deleteAbled(@Param("cateId")String cateId)throws RDPException;
				
}